Android图形系统深度调试与优化
📚 共计 30 章节
01
图形系统总览
Android图形架构演进 · SurfaceFlinger到HWC · 核心组件职责与协作
SurfaceFlinger
WindowManager
Choreographer
02
渲染管线深度解析
CPU/GPU协同 · RenderThread与主线程 · Triple Buffer & Vsync
RenderThread
Triple Buffer
Vsync
03
SurfaceFlinger原理
Layer合成策略 · BufferQueue机制 · Transaction处理与性能
合成
BufferQueue
Transaction
04
Choreographer机制
帧调度逻辑 · Callback队列 · 掉帧检测与FrameCallback
帧调度
掉帧
FrameCallback
05
硬件合成器HWC
HAL层接口 · Overlay/GPU合成 · HWC版本演进与收益
HWC
Overlay
GPU合成
06
BufferQueue详解
生产者-消费者模型 · Buffer状态机 · dequeueBuffer超时
状态机
dequeue
超时
07
图形内存管理
Gralloc分配器 · ION/DMA-BUF · 显存泄漏检测与优化
Gralloc
ION
显存泄漏
08
Vsync与帧同步
硬件Vsync/软件Vsync · 偏移计算 · Choreographer/SurfaceFlinger关系
Vsync
帧同步
偏移
09
掉帧分析工具
Systrace/Perfetto · FrameTimeline · jank分类与根因定位
Systrace
Perfetto
Jank
10
GPU渲染优化
过度绘制检测 · ClipRect硬件加速 · Shader复杂度优化
过度绘制
硬件加速
Shader
11
布局与测量优化
Relayout耗时 · ConstraintLayout vs LinearLayout · 异步布局
Relayout
ConstraintLayout
异步布局
12
动画性能优化
属性动画原理 · 硬件层加速 · 帧率控制与卡顿修复
属性动画
硬件层
帧率控制
13
列表滑动优化
RecyclerView缓存 · ItemDecoration性能 · 预加载与分页
RecyclerView
预加载
分页
14
Bitmap与图片优化
BitmapFactory.Options · inBitmap复用 · 解码线程优化
Bitmap
inBitmap
解码
15
SurfaceView与TextureView
双缓冲差异 · Surface生命周期 · 视频场景选型
SurfaceView
TextureView
双缓冲
16
RenderNode与DisplayList
View绘制缓存 · RenderNode属性更新 · 脏区域计算
RenderNode
DisplayList
脏区域
17
硬件加速绘制
OpenGL ES管线 · Skia渲染引擎 · Vulkan引入与兼容
OpenGL ES
Skia
Vulkan
18
窗口与输入系统
WindowToken管理 · InputDispatcher与VSync对齐 · 触摸延迟
WindowToken
InputDispatcher
触摸延迟
19
多屏与折叠屏适配
DisplayManager · 逻辑屏/物理屏映射 · 折叠状态变化
多屏
折叠屏
DisplayManager
20
功耗与温控
GPU频率缩放 · 帧率降级 · 温控阈值对图形性能影响
功耗
温控
帧率降级
21
低内存场景优化
LMKD与图形内存回收 · 合成策略降级 · OOM预防
LMKD
低内存
OOM
22
SurfaceFlinger死锁与ANR
Transaction超时 · BufferQueue死锁 · dump分析技巧
死锁
ANR
dump
23
图形系统稳定性
HWC crash恢复 · GPU驱动异常 · SurfaceFlinger watchdog
稳定性
crash
watchdog
24
自动化测试框架
UiAutomator · Espresso · GameBench · 自定义帧率采集
UiAutomator
Espresso
GameBench
25
线上监控方案
Matrix-Issue · BlockCanary · 自定义Looper监控与帧率上报
Matrix
BlockCanary
Looper
26
Android 12+新特性
前台服务限制 · AppCompat动画 · Privacy Indicator渲染
Android 12
前台服务
Privacy
27
游戏引擎集成
Unity/Unreal适配 · NativeWindow交互 · EGL context管理
Unity
Unreal
EGL
28
VR/AR图形挑战
高刷新率渲染 · 预测跟踪 · 异步时间扭曲(ATW)
VR
AR
ATW
29
车载与嵌入式图形
多Display管理 · SurfaceFlinger扩展 · 安全显示与DRM
车载
多Display
DRM
30
综合案例实战
线上帧率告警→根因定位 · 优化前后对比 · 方法论总结
实战
帧率告警
方法论